The present invention relates to a parallel processor system, and more specifically to a parallel processor system which processes the data by driving a plurality of subsidiary processors using a control processor.
Parallel processors have now been widely studied in order to execute scientific and technological calculations at high speeds. Among them, PAX developed by researchers at Tsukuba University is reaching the practicable level (PAX Computer, compiled by Hoshino, published by Ohm Co., 1985). According to the PAX, the processor elements are coupled in the form of an array, and the input and output data of a program stored in the processor elements are limited to those of the neighboring processor elements only, in order to carry out the parallel processing. Even when the communications are limited among the processor elements as mentioned above, the range of application can be expanded if the algorithm is so modified as to be adapted to the problem that is to be solved, and there can be realized a parallel processor that meets practical use.
However, there has been urged to carry out the communications among the processor elements maintaining a larger degree of freedom than that of the array-like coupling. For this purpose, there has been developed a computer that carries out the parallel processing by dividing the program processing into process units called tasks, and allocating a plurality of tasks to a plurality of computer resources. In a system which drives a plurality of tasks to carry out the parallel processing by the multi-tasking process, and increased degree of freedom is provided since the communications are effected among the processes of tasks via a main storage or a register accompanied, however, by an extended overhead time for starting the tasks.
In addition to the multi-tasking method, there has been known a method which is equipped with a network among the processors in order to further increase the degree of freedom of communications among the processor elements than that of the array-like coupling. According, for example, to J. Beetem, M. Denneau, D. Weingarten, "The GF11 Supercomputer" Proc. of IEEE ICPP, '85, 1985, the communication is carried out among any processor elements using a switching network of two stages. The method which passes through the network of n stages is excellent as a method of transmitting the data. When it is attempted to couple very many processor elements through a short path, however, the amount of hardware so increases that the performance/cost ratio becomes no more realistic.
According to the above-mentioned variety of parallel processor systems, a high processing performance can be obtained based upon the parallel processing when the programs are prepared using a language (such as machine language) that is adapted to the hardware of parallel processor. However, if it is attempted to have the conventional software assets by the above-mentioned parallel processor system, language specifications of the conventional programming language are not adapted to the archtecture of the parallel processor system, and the program is not executed or performance deteriorates considerably. This is because the conventional programming language is constituted by utilizing the serial nature of the processing. In the parallel processor PAX, for example, the program is described by giving attention to the near mutual action among the processor elements. This method is desirable when a physical phenomenon is modified into the near mutual action and is efficiently processed, but cannot at present be adapted to general physical phenomena without difficulty. Moreover, this method inhibits the use of a variety of software assets that are accumulated thus far. Succession of the software assets is not regarded to be important in the field of non-numerical calculation. There, however, remains a portion where a computation algorithm is described in detail and precisely and where error theory is logically constituted, such as convergence of non-linear calculation, maintenance of calculation precision precision relying upon the sequence of calculation, and the like in the field of numerical calculation. From the standpoint of the computer archtecture, therefore, it is difficult to abandon the past software assets, and it is desired to construct the computer archtecture in such a manner that the past accumulation is effectively utilized.
The following conditions are required for a parallel processor to succeed the past software assets:
1. The number of processor elements is not specified from the program language. PA1 2. Logically, the storage of a single hierarchy. PA1 3. Keep communication means among the processor elements such as switching networks off the sight as viewed from the program language.
This is equal to the case where the penetration of a process resource of a parallel processor is set very poorly by the program language, and a parallel processing function of the parallel processor is used without almost touching the past assets of the serial processing algorithm.